package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 统计利润明细对象 zn_profit_detail
 * 
 * @author ruoyi
 * @date 2022-10-10
 */
public class ZnProfitDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 盘点id */
    private Long profitId;

    /**
     * 仓库id
     */
    private Long depotId;

    /** 采购单据ID */
    @Excel(name = "采购单据ID")
    private Long inHeadId;

    /** 采购单据商品ID */
    @Excel(name = "采购单据商品ID")
    private Long inItemId;

    /** 销售单据ID */
    @Excel(name = "销售单据ID")
    private Long outHeadId;

    /** 销售单据商品ID */
    @Excel(name = "销售单据商品ID")
    private Long outItemId;

    /** 销售单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "销售单据时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outOperTime;

    /** 商品id */
    @Excel(name = "商品id")
    private Long materialId;

    /** 商品extendid */
    @Excel(name = "商品extendid")
    private Long materialExtendId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal operNumber;

    /** 基本数量 */
    @Excel(name = "基本数量")
    private BigDecimal basicNumber;

    /** 利润 */
    @Excel(name = "利润")
    private BigDecimal profit;

    /** 采购价 */
    @Excel(name = "采购价")
    private BigDecimal inPrice;

    /** 销售价 */
    @Excel(name = "销售价")
    private BigDecimal outPrice;

    /** 租户id */
    @Excel(name = "租户id")
    private Long tenantId;
    /** 类型 0 单据  1初始库存 */
    private Integer type;
    /** 商品初始库存id */
    private Long initStockId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setInHeadId(Long inHeadId) 
    {
        this.inHeadId = inHeadId;
    }

    public Long getInHeadId() 
    {
        return inHeadId;
    }
    public void setInItemId(Long inItemId) 
    {
        this.inItemId = inItemId;
    }

    public Long getInItemId() 
    {
        return inItemId;
    }
    public void setOutHeadId(Long outHeadId) 
    {
        this.outHeadId = outHeadId;
    }

    public Long getOutHeadId() 
    {
        return outHeadId;
    }
    public void setOutItemId(Long outItemId) 
    {
        this.outItemId = outItemId;
    }

    public Long getOutItemId() 
    {
        return outItemId;
    }
    public void setOutOperTime(Date outOperTime) 
    {
        this.outOperTime = outOperTime;
    }

    public Date getOutOperTime() 
    {
        return outOperTime;
    }
    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setMaterialExtendId(Long materialExtendId) 
    {
        this.materialExtendId = materialExtendId;
    }

    public Long getMaterialExtendId() 
    {
        return materialExtendId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setOperNumber(BigDecimal operNumber) 
    {
        this.operNumber = operNumber;
    }

    public BigDecimal getOperNumber() 
    {
        return operNumber;
    }
    public void setBasicNumber(BigDecimal basicNumber) 
    {
        this.basicNumber = basicNumber;
    }

    public BigDecimal getBasicNumber() 
    {
        return basicNumber;
    }
    public void setProfit(BigDecimal profit) 
    {
        this.profit = profit;
    }

    public BigDecimal getProfit() 
    {
        return profit;
    }
    public void setInPrice(BigDecimal inPrice) 
    {
        this.inPrice = inPrice;
    }

    public BigDecimal getInPrice() 
    {
        return inPrice;
    }
    public void setOutPrice(BigDecimal outPrice) 
    {
        this.outPrice = outPrice;
    }

    public BigDecimal getOutPrice() 
    {
        return outPrice;
    }
    public void setTenantId(Long tenantId) 
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }

    public Long getProfitId() {
        return profitId;
    }

    public void setProfitId(Long profitId) {
        this.profitId = profitId;
    }

    public Long getDepotId() {
        return depotId;
    }

    public void setDepotId(Long depotId) {
        this.depotId = depotId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Long getInitStockId() {
        return initStockId;
    }

    public void setInitStockId(Long initStockId) {
        this.initStockId = initStockId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("profitId", getProfitId())
            .append("depotId", getDepotId())
            .append("inHeadId", getInHeadId())
            .append("inItemId", getInItemId())
            .append("outHeadId", getOutHeadId())
            .append("outItemId", getOutItemId())
            .append("outOperTime", getOutOperTime())
            .append("materialId", getMaterialId())
            .append("materialExtendId", getMaterialExtendId())
            .append("customerId", getCustomerId())
            .append("operNumber", getOperNumber())
            .append("basicNumber", getBasicNumber())
            .append("profit", getProfit())
            .append("inPrice", getInPrice())
            .append("outPrice", getOutPrice())
            .append("tenantId", getTenantId())
            .append("initStockId", getInitStockId())
            .append("type", getType())
            .toString();
    }
}
